const fs = require('fs')                        
const co = require('co');                           //引入co模块不用去写Generator 函数的执行器。
const fetch=require('node-fetch')                   //fetch

var thunkify = require('thunkify');                 //引入Thunk   
var readFileThunk = thunkify(fs.readFile);          //用于处理异步函数的库




const gen = function* () {
    const sj={}
    const r1 = yield fetch('http://localhost:3000/aaa').then((data)=>{ //异步操作
            return data.json()
    }).then((data)=>{
          sj.a1=data 
    })

    const r2 = yield readFileThunk('./M_.js');      //异步操作
    return sj                                       //所有异步操作的数据整合
};

co(gen).then(function (data) {                      //成功后的回调函数 变成同步的了  
    console.log(data)
    console.log('Generator 函数执行完成');
})
